package com.sn.author.service.dao;

import com.sn.author.domain.BaseResult;
import com.sn.author.domain.dto.AccountDTO;
import com.sn.author.domain.dto.ImportDTO;
import com.sn.author.domain.dto.TaskBasisInfo;
import com.sn.author.domain.entity.DyAccount;
import com.sn.author.domain.entity.ImportAccount;
import com.sn.author.domain.taskEntity.TaskProcess;
import com.sn.author.domain.vo.BatchLoginVo;
import com.sn.author.domain.vo.CallbackVo;
import com.sn.author.domain.vo.LoginVo;
import com.sn.author.domain.vo.QueryAccountVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @Author xiaom
 * @Date 2020/9/15 22:00
 * @Version 1.0.0
 * @Description <>
 **/
public interface AccountService extends BaseService {

    /**
     * 获取账户列表
     */
    BaseResult<List<AccountDTO>> getAccountList(QueryAccountVo queryAccountVo);

    /**
     * 删除账户
     */
    Boolean delAccount(Long id);

    /**
     * 导出账号
     */
    void exportAccount();

    /**
     * 登录抖音
     * @param accounts 账号密码集合
     */
    TaskBasisInfo loginDy(List<LoginVo> accounts);

    /**
     * 批量注册抖音号
     * @param num 个数
     */
    Boolean batchRegister(Integer num);

    /**
     * 批量登录
     */
    Boolean batchLogin(BatchLoginVo batchLoginVo);

    /**
     * 更新账号已经关注的数量
     * @param phone  手机号码
     * @param i      增加的个数
     */
    void updateAttentionCount(String phone, int i);

    /**
     * 更新账号已经点赞的数量
     * @param phone  手机号码
     * @param i      增加的个数
     */
    void updateLikeCount(String phone,int i);

    /**
     * 更新账号已经评论的数量
     * @param phone  手机号码
     * @param i      增加的个数
     */
    void updateCommentCount(String phone, int i);

    ImportAccount getOnlineAccount();
}
